package com.xygz.orm.enums;

/**
 * the description for class KeyType
 *
 * @author xiyuan-lgz 2023-09-18 @version v1.0.0 新建与整理
 */
public enum KeyType {
    /**
     * 数据库ID自增
     * 该类型请确保数据库设置了 ID自增 否则无效
     */
    AUTO() {
        @Override
        public boolean isNumber() {
            return true;
        }
    },
    
    /**
     * 内部使用
     */
    AUTO_ID() {
        @Override
        public boolean isNumber() {
            return true;
        }
    },
    
    /**
     * 自动填充UUID
     */
    AUTO_UUID() {
        @Override
        public boolean isNumber() {
            return false;
        }
    },
    
    /**
     * 用户输入ID
     * 该类型可以通过自己注册自动填充插件进行填充
     */
    INPUT() {
        @Override
        public boolean isNumber() {
            return false;
        }
    };
    
    
    public abstract boolean isNumber();
}
